package com.ims.core.saleconfig.domain;

import com.ims.common.annotation.Excel;
import com.ims.common.annotation.RequestName;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 物料对象 t_sal_material
 *
 * @author IMS
 * @date 2024-09-19
 */
public class TSalMaterial extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 产品ID */
    @Excel(name = "产品ID")
    private String productId;

    /** 物料ID */
    private String materialId;

    /** 上级物料ID */
    private String parentMaterialId;

    /** 客户ID */
    private String custId;

    /** 公司代码 */
    private String siteCode;

    /** 公司 */
    @Excel(name = "公司")
    private String siteName;

    /** 物料编码 */
    @Excel(name = "物料编码")
    @RequestName(name="物料编码")
    private String materialCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @RequestName(name="物料名称")
    private String materialName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @RequestName(name="规格型号")
    private String specificatCode;

    /** 颜色代码 */
    @Excel(name = "颜色代码")
    private String colorCode;

    /** 颜色 */
    private String colorName;

    /** 单位代码 */
    private String unit;

    /** 单位 */
    @Excel(name = "单位")
    private String unitName;

    /** 单价 */
    @Excel(name = "单价")
    private String price;

    /** 物料分类代码 */
    private String materialType;

    /** 物料分类 */
    @Excel(name = "物料分类")
    private String materialTypeName;

    /** 含税标识代码 */
    private Long isTax;

    /** 含税标识 */
    @Excel(name = "含税标识")
    private String isTaxName;

    /** 税收分类编码 */
    private String taxCode;

    /** 税收分类名称 */
    @Excel(name = "税收分类名称")
    private String taxName;

    /** 税率代码 */
    private BigDecimal taxRate;

    /** 税率 */
    @Excel(name = "税率")
    private String taxRateName;

    /** 状态代码 */
    private String status;

    /** 状态 */
    @Excel(name = "状态")
    private String statusName;

    /** 添加人 */
    @Excel(name = "添加人")
    private String createName;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updateName;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProductId(String productId)
    {
        this.productId = productId;
    }

    public String getProductId()
    {
        return productId;
    }
    public void setMaterialId(String materialId)
    {
        this.materialId = materialId;
    }

    public String getMaterialId()
    {
        return materialId;
    }
    public void setParentMaterialId(String parentMaterialId)
    {
        this.parentMaterialId = parentMaterialId;
    }

    public String getParentMaterialId()
    {
        return parentMaterialId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setMaterialCode(String materialCode)
    {
        this.materialCode = materialCode;
    }

    public String getMaterialCode()
    {
        return materialCode;
    }
    public void setMaterialName(String materialName)
    {
        this.materialName = materialName;
    }

    public String getMaterialName()
    {
        return materialName;
    }
    public void setSpecificatCode(String specificatCode)
    {
        this.specificatCode = specificatCode;
    }

    public String getSpecificatCode()
    {
        return specificatCode;
    }
    public void setColorCode(String colorCode)
    {
        this.colorCode = colorCode;
    }

    public String getColorCode()
    {
        return colorCode;
    }
    public void setColorName(String colorName)
    {
        this.colorName = colorName;
    }

    public String getColorName()
    {
        return colorName;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setUnitName(String unitName)
    {
        this.unitName = unitName;
    }

    public String getUnitName()
    {
        return unitName;
    }
    public void setPrice(String price)
    {
        this.price = price;
    }

    public String getPrice()
    {
        return price;
    }
    public void setMaterialType(String materialType)
    {
        this.materialType = materialType;
    }

    public String getMaterialType()
    {
        return materialType;
    }
    public void setMaterialTypeName(String materialTypeName)
    {
        this.materialTypeName = materialTypeName;
    }

    public String getMaterialTypeName()
    {
        return materialTypeName;
    }
    public void setIsTax(Long isTax)
    {
        this.isTax = isTax;
    }

    public Long getIsTax()
    {
        return isTax;
    }
    public void setIsTaxName(String isTaxName)
    {
        this.isTaxName = isTaxName;
    }

    public String getIsTaxName()
    {
        return isTaxName;
    }
    public void setTaxCode(String taxCode)
    {
        this.taxCode = taxCode;
    }

    public String getTaxCode()
    {
        return taxCode;
    }
    public void setTaxName(String taxName)
    {
        this.taxName = taxName;
    }

    public String getTaxName()
    {
        return taxName;
    }
    public void setTaxRate(BigDecimal taxRatece)
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate()
    {
        return taxRate;
    }
    public void setTaxRateName(String taxRateName)
    {
        this.taxRateName = taxRateName;
    }

    public String getTaxRateName()
    {
        return taxRateName;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setStatusName(String statusName)
    {
        this.statusName = statusName;
    }

    public String getStatusName()
    {
        return statusName;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }
    public void setUpdateName(String updateName)
    {
        this.updateName = updateName;
    }

    public String getUpdateName()
    {
        return updateName;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("materialId", getMaterialId())
            .append("parentMaterialId", getParentMaterialId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("materialCode", getMaterialCode())
            .append("materialName", getMaterialName())
            .append("specificatCode", getSpecificatCode())
            .append("colorCode", getColorCode())
            .append("colorName", getColorName())
            .append("unit", getUnit())
            .append("unitName", getUnitName())
            .append("price", getPrice())
            .append("materialType", getMaterialType())
            .append("materialTypeName", getMaterialTypeName())
            .append("isTax", getIsTax())
            .append("isTaxName", getIsTaxName())
            .append("taxCode", getTaxCode())
            .append("taxName", getTaxName())
            .append("taxRate", getTaxRate())
            .append("taxRateName", getTaxRateName())
            .append("remark", getRemark())
            .append("status", getStatus())
            .append("statusName", getStatusName())
            .append("createName", getCreateName())
            .append("createTime", getCreateTime())
            .append("updateName", getUpdateName())
            .append("updateTime", getUpdateTime())
            .append("productName", getProductName())
            .toString();
    }
}
